<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    //语法
    let goods1 = {}
    let goods2 = new Object()
    //属性名称 : 属性值 ,(:可省略)
    let good = {
      uname : `鸡`,
      num : `100349`,
      weight : 100,
      address : `提瓦特`
    }
    //对象本质是无序数据集合(同样可以操作整个对象,下面只是用属性来演示)
    //查找(对象.属性)
    console.log(good.uname)
    //改(对象.属性 = 新值)
    good.uname = `鸭`
    //增(对象.新属性 = 新值) 有属性就改，没有就是增
    good.color = `Red`
    //删delete 对象.属性
    delete good.uname
    //查的另外一种语法 对象名[属性名]
    good[`goods-name`] = `小米青春版PLUS`
    // console.log(good);
    console.log(good[`goods-name`]);
    
    //方法的声明和调用
    let obj = {
      uname : `刘德华`,
      song : function(){
        console.log(`${obj.uname}正在唱歌`);
      },
      dance : function(){
        console.log(`${obj.uname}正在跳舞`);
      }
    }
    obj.dance()
    obj.song()


    //遍历对象for in
    //数组演示
      let arr = ['pink', 'red', 'blue']
      for(let k in arr){
        console.log(k);//k获取到的是索引号，类型是string,'0','1','2'...
        console.log(arr[k]);//arr[k]获取到的是值，arr['0'],arr['1'],arr['2']...所以可以找到值
      }
    //对象演示
    let obj2 = {
      uname : `pink`,
      age : 18,
      gender : `女`
    }
    for(let k in obj2){
      console.log(k);//获取属性名,'uname','age','gender'
      console.log(obj2[k]);//不能用obj2.k,因为k获取到的是带引号的字符串名称,而使用[]正好需要引号,所以只能使用[]
    }
  </script>
</body>
</html>